set(LIBRARY_DIR ${ClickHouse_SOURCE_DIR}/contrib/cppkafka)

set(SRCS
    ${LIBRARY_DIR}/src/buffer.cpp
    ${LIBRARY_DIR}/src/configuration_option.cpp
    ${LIBRARY_DIR}/src/configuration.cpp
    ${LIBRARY_DIR}/src/consumer.cpp
    ${LIBRARY_DIR}/src/error.cpp
    ${LIBRARY_DIR}/src/event.cpp
    ${LIBRARY_DIR}/src/exceptions.cpp
    ${LIBRARY_DIR}/src/group_information.cpp
    ${LIBRARY_DIR}/src/kafka_handle_base.cpp
    ${LIBRARY_DIR}/src/message_internal.cpp
    ${LIBRARY_DIR}/src/message_timestamp.cpp
    ${LIBRARY_DIR}/src/message.cpp
    ${LIBRARY_DIR}/src/metadata.cpp
    ${LIBRARY_DIR}/src/producer.cpp
    ${LIBRARY_DIR}/src/queue.cpp
    ${LIBRARY_DIR}/src/topic_configuration.cpp
    ${LIBRARY_DIR}/src/topic_partition_list.cpp
    ${LIBRARY_DIR}/src/topic_partition.cpp
    ${LIBRARY_DIR}/src/topic.cpp
)

add_library(cppkafka ${SRCS})

target_link_libraries(cppkafka
    PRIVATE
        ${RDKAFKA_LIBRARY}
        boost::headers_only
)
target_include_directories(cppkafka PRIVATE ${LIBRARY_DIR}/include/cppkafka)
target_include_directories(cppkafka SYSTEM BEFORE PUBLIC ${LIBRARY_DIR}/include)
